home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 40 / Amiga Format CD40 (1999-05-11)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-06].iso / -readerstuff- / malcolm_campbell / source / module.b < prev   
Text File  |  1999-03-27  |  12KB  |  415 lines

  1. EXTERNAL B$
  2. EXTERNAL A6
  3. SUB _LOGO(X1,Y1,X2,Y2) EXTERNAL
  4.   'X1 - THE X COORDINATE
  5.   'Y1 - THE Y COORDINATE
  6.   'X2 - SIZE OF X UNITS
  7.   'Y2 - SIZE OF Y UNITS
  8.   COLOURA = 2
  9.   COLOURB = 1
  10.   LINE (X1,Y1)-(X1+(X2*19),Y1),COLOURB
  11.   LINE (X1,Y1)-(X1,Y1+(Y2*1)),COLOURB
  12.   LINE (X1+(X2*19),Y1)-(X1+(X2*19),Y1+(Y2*1)),COLOURA
  13.   LINE (X1,Y1+(Y2*1))-(X1+(X2*6),Y1+(Y2*1)),COLOURA
  14.   LINE (X1+(X2*7),Y1+(Y2*1))-(X1+(X2*19),Y1+(Y2*1)),COLOURA
  15.   LINE (X1,Y1+(Y2*2))-(X1+(X2*1),Y1+(Y2*2)),COLOURB
  16.   LINE (X1+(X2*2),Y1+(Y2*2))-(X1+(X2*5),Y1+(Y2*2)),COLOURB
  17.   LINE (X1+(X2*8),Y1+(Y2*2))-(X1+(X2*11),Y1+(Y2*2)),COLOURB
  18.   LINE (X1+(X2*12),Y1+(Y2*2))-(X1+(X2*15),Y1+(Y2*2)),COLOURB
  19.   LINE (X1+(X2*16),Y1+(Y2*2))-(X1+(X2*19),Y1+(Y2*2)),COLOURB
  20.   LINE (X1+(X2*3),Y1+(Y2*3))-(X1+(X2*4),Y1+(Y2*3)),COLOURA
  21.   LINE (X1+(X2*3),Y1+(Y2*4))-(X1+(X2*4),Y1+(Y2*4)),COLOURB
  22.   LINE (X1+(X2*9),Y1+(Y2*3))-(X1+(X2*10),Y1+(Y2*3)),COLOURA
  23.   LINE (X1+(X2*9),Y1+(Y2*4))-(X1+(X2*10),Y1+(Y2*4)),COLOURB
  24.   LINE (X1+(X2*13),Y1+(Y2*3))-(X1+(X2*14),Y1+(Y2*3)),COLOURA
  25.   LINE (X1+(X2*13),Y1+(Y2*4))-(X1+(X2*14),Y1+(Y2*4)),COLOURB
  26.   LINE (X1+(X2*17),Y1+(Y2*3))-(X1+(X2*18),Y1+(Y2*3)),COLOURA
  27.   LINE (X1+(X2*17),Y1+(Y2*4))-(X1+(X2*18),Y1+(Y2*4)),COLOURB
  28.   LINE (X1+(X2*2),Y1+(Y2*5))-(X1+(X2*5),Y1+(Y2*5)),COLOURA
  29.   LINE (X1+(X2*6),Y1+(Y2*5))-(X1+(X2*7),Y1+(Y2*5)),COLOURA
  30.   LINE (X1+(X2*8),Y1+(Y2*5))-(X1+(X2*11),Y1+(Y2*5)),COLOURA
  31.   LINE (X1+(X2*12),Y1+(Y2*5))-(X1+(X2*14),Y1+(Y2*5)),COLOURA
  32.   LINE (X1+(X2*17),Y1+(Y2*5))-(X1+(X2*18),Y1+(Y2*5)),COLOURA
  33.   LINE (X1+(X2*1),Y1+(Y2*6))-(X1+(X2*11),Y1+(Y2*6)),COLOURB
  34.   LINE (X1+(X2*12),Y1+(Y2*6))-(X1+(X2*14),Y1+(Y2*6)),COLOURB
  35.   LINE (X1+(X2*17),Y1+(Y2*6))-(X1+(X2*18),Y1+(Y2*6)),COLOURB
  36.   LINE (X1,Y1+(Y2*7))-(X1+(X2*11),Y1+(Y2*7)),COLOURA
  37.   LINE (X1+(X2*12),Y1+(Y2*7))-(X1+(X2*15),Y1+(Y2*7)),COLOURA
  38.   LINE (X1+(X2*16),Y1+(Y2*7))-(X1+(X2*19),Y1+(Y2*7)),COLOURA
  39.   LINE (X1,Y1+(Y2*2))-(X1,Y1+(Y2*7)),COLOURB
  40.   LINE (X1+(X2*1),Y1+(Y2*2))-(X1+(X2*1),Y1+(Y2*6)),COLOURA
  41.   LINE (X1+(X2*2),Y1+(Y2*2))-(X1+(X2*2),Y1+(Y2*5)),COLOURB
  42.   LINE (X1+(X2*3),Y1+(Y2*3))-(X1+(X2*3),Y1+(Y2*4)),COLOURA
  43.   LINE (X1+(X2*4),Y1+(Y2*3))-(X1+(X2*4),Y1+(Y2*4)),COLOURB
  44.   LINE (X1+(X2*5),Y1+(Y2*2))-(X1+(X2*5),Y1+(Y2*5)),COLOURA
  45.   LINE (X1+(X2*6),Y1+(Y2*1))-(X1+(X2*6),Y1+(Y2*5)),COLOURB
  46.   LINE (X1+(X2*7),Y1+(Y2*1))-(X1+(X2*7),Y1+(Y2*5)),COLOURA
  47.   LINE (X1+(X2*8),Y1+(Y2*2))-(X1+(X2*8),Y1+(Y2*5)),COLOURB
  48.   LINE (X1+(X2*9),Y1+(Y2*3))-(X1+(X2*9),Y1+(Y2*4)),COLOURA
  49.   LINE (X1+(X2*10),Y1+(Y2*3))-(X1+(X2*10),Y1+(Y2*4)),COLOURB
  50.   LINE (X1+(X2*11),Y1+(Y2*2))-(X1+(X2*11),Y1+(Y2*5)),COLOURA
  51.   LINE (X1+(X2*11),Y1+(Y2*6))-(X1+(X2*11),Y1+(Y2*7)),COLOURA
  52.   LINE (X1+(X2*12),Y1+(Y2*2))-(X1+(X2*12),Y1+(Y2*5)),COLOURB
  53.   LINE (X1+(X2*12),Y1+(Y2*6))-(X1+(X2*12),Y1+(Y2*7)),COLOURB
  54.   LINE (X1+(X2*13),Y1+(Y2*3))-(X1+(X2*13),Y1+(Y2*4)),COLOURA
  55.   LINE (X1+(X2*14),Y1+(Y2*3))-(X1+(X2*14),Y1+(Y2*4)),COLOURB
  56.   LINE (X1+(X2*14),Y1+(Y2*5))-(X1+(X2*14),Y1+(Y2*6)),COLOURB
  57.   LINE (X1+(X2*15),Y1+(Y2*2))-(X1+(X2*15),Y1+(Y2*7)),COLOURA
  58.   LINE (X1+(X2*16),Y1+(Y2*2))-(X1+(X2*16),Y1+(Y2*7)),COLOURB
  59.   LINE (X1+(X2*19),Y1+(Y2*2))-(X1+(X2*19),Y1+(Y2*7)),COLOURA
  60.   LINE (X1+(X2*17),Y1+(Y2*3))-(X1+(X2*17),Y1+(Y2*4)),COLOURA
  61.   LINE (X1+(X2*17),Y1+(Y2*5))-(X1+(X2*17),Y1+(Y2*6)),COLOURA
  62.   LINE (X1+(X2*18),Y1+(Y2*3))-(X1+(X2*18),Y1+(Y2*4)),COLOURB
  63.   LINE (X1+(X2*18),Y1+(Y2*5))-(X1+(X2*18),Y1+(Y2*6)),COLOURB
  64.   'PAINT (X1+1,Y1+1),2,1
  65.   'PAINT (X1+1,Y1+(Y2*2)+1),2,1
  66.   'PAINT (X1+(X2*2)+1,Y1+(Y2*2)+1),2,1
  67.   'PAINT (X1+(X2*8)+1,Y1+(Y2*2)+1),2,1
  68.   'PAINT (X1+(X2*12)+1,Y1+(Y2*2)+1),2,1
  69.   'PAINT (X1+(X2*16)+1,Y1+(Y2*2)+1),2,1
  70.   'FONT "DICT.FONT",8
  71.   'STYLE 0
  72.   'PENUP
  73.   'SETXY (X1+3),(Y1+(Y2*9))
  74.   'PRINT "The Predictor & Checker Program"
  75. END SUB
  76. SUB _REMOVE1 EXTERNAL
  77.   FOR N=195 TO 255
  78.     GADGET CLOSE N
  79.   NEXT N
  80. END SUB
  81. SUB _REMOVE EXTERNAL
  82.   FOR N=249 TO 255
  83.     GADGET CLOSE N
  84.   NEXT N
  85. END SUB
  86. SUB _QUIT EXTERNAL
  87.   IF MSGBOX ("Sure you want to Quit?","Quit","Cancel") THEN
  88.     CLS 0
  89.     CALL _REMOVE1
  90.     WINDOW CLOSE 9
  91.     STOP
  92.   END IF
  93. END SUB
  94. SUB _WIPE EXTERNAL
  95.   FOR N=13 TO 59
  96.     LINE (23,N)-(216,N),0
  97.   NEXT N
  98. END SUB
  99. SUB _WIPE1 EXTERNAL
  100.   FOR N=63 TO 132
  101.     LINE (21,N)-(219,N),0
  102.   NEXT N
  103. END SUB
  104. SUB _WIPE2 EXTERNAL
  105.   FOR N=64 TO 131
  106.     LINE (23,N)-(216,N),0
  107.   NEXT N
  108. END SUB
  109. SUB _REMOVE2 EXTERNAL
  110.   FOR N=245 TO 255
  111.     GADGET CLOSE N
  112.   NEXT N
  113. END SUB
  114. SUB _PERCENT(X1,Y1,A1,A2,PR) EXTERNAL
  115.   REM PR CAN EQUAL:
  116.   REM 250        - TO DRAW BOX 3D BOX
  117.   REM 1-100      - THE CURRENT PERCENTAGE
  118.   REM 101        - TO CLEAR AWAY
  119.   A1=A1+2
  120.   A2=A2+2
  121.   A3=A2-1
  122.   PR=FIX(PR)
  123.   IF PR=250 THEN
  124.       LINE (X1,Y1)-(X1+A1,Y1),1
  125.       LINE (X1,Y1)-(X1,Y1+A2),1
  126.       LINE (X1,Y1+A2)-(X1+A1,Y1+A2),2
  127.       LINE (X1+A1,Y1)-(X1+A1,Y1+A2),2
  128.       A6 = 0
  129.   END IF
  130.   IF PR>0 AND PR<101 THEN
  131.     IF PR > A6 THEN
  132.       FOR N = A6 TO PR
  133.         LINE ((X1+1)+N,Y1+1)-((X1+1)+N,Y1+A3),3
  134.         PENUP
  135.         SETXY (X1+A1)+1,(Y1+A2)-1
  136.         PRINT N;"%"
  137.       NEXT N
  138.       A6=PR
  139.     END IF
  140.   END IF
  141.   IF PR=101 THEN
  142.     FOR N=0 TO A1+40
  143.     LINE (X1+N,Y1)-(X1+N,Y1+A2),0
  144.     NEXT N
  145.     A6=PR
  146.   END IF
  147. END SUB
  148. SUB _BUTTON EXTERNAL
  149.   GADGET 255,ON,"Generate Some Numbers",(21,63)-(219,75),BUTTON,1,"DICT.FONT",8,0
  150.   GADGET 254,ON,"Edit Board Database",(21,77)-(219,89),BUTTON,1,"DICT.FONT",8,0
  151.   GADGET 253,ON,"Enter Numbers Drawn",(21,91)-(219,103),BUTTON,1,"DICT.FONT",8,0
  152.   GADGET 252,ON,"View Board Results",(21,105)-(219,117),BUTTON,1,"DICT.FONT",8,0
  153.   GADGET 251,ON,"Print Winware Form",(21,119)-(219,131),BUTTON,1,"DICT.FONT",8,0
  154.   GADGET 250,ON,"About",(21,133)-(118,145),BUTTON,1,"DICT.FONT",8,0
  155.   GADGET 249,ON,"Quit",(122,133)-(219,145),BUTTON,1,"DICT.FONT",8,0
  156. END SUB
  157. SUB _BUTTON6 EXTERNAL
  158.   GADGET 255,ON,"Random Number Method 1",(21,63)-(219,75),BUTTON,1,"DICT.FONT",8,0
  159.   GADGET 254,ON,"Random Number Method 2",(21,77)-(219,89),BUTTON,1,"DICT.FONT",8,0
  160.   GADGET 253,ON,"Random Number Method 3",(21,91)-(219,103),BUTTON,1,"DICT.FONT",8,0
  161.   GADGET 252,OFF,"Random Number Method 4",(21,105)-(219,117),BUTTON,1,"DICT.FONT",8,0
  162.   GADGET 251,OFF,"Random Number Method 5",(21,119)-(219,131),BUTTON,1,"DICT.FONT",8,0
  163.   GADGET 250,ON,"Go Back",(21,133)-(118,145),BUTTON,1,"DICT.FONT",8,0
  164.   GADGET 249,ON,"Quit",(122,133)-(219,145),BUTTON,1,"DICT.FONT",8,0
  165. END SUB
  166. SUB _BUTTON13 EXTERNAL
  167.   BEVELBOX (21,63)-(218,130),1
  168.   FONT "DICT.FONT",8 : STYLE 2
  169.   PENUP : SETXY 26,72 : PRINT "About LoTo98 v1.11"
  170.   FONT "DICT.FONT",8 : STYLE 0
  171.   PENUP : SETXY 26,81 : PRINT "Welcome to  LoTo98 , my  latest"
  172.   PENUP : SETXY 26,90: PRINT "program   under  the   TickSoft"
  173.   PENUP : SETXY 26,99: PRINT "label.  LoTo98 is the first GUI"
  174.   PENUP : SETXY 26,108: PRINT "based lottery program I've made"
  175.   PENUP : SETXY 26,117: PRINT "which is designed to be easy to"
  176.   PENUP : SETXY 26,126: PRINT "use  and  have a  compact  GUI."
  177.   GADGET 255,ON,"Go Back",(21,133)-(118,145),BUTTON,1,"DICT.FONT",8,0
  178.   GADGET 254,ON,"Quit",(122,133)-(219,145),BUTTON,1,"DICT.FONT",8,0
  179. END SUB
  180. SUB _BUTTON7 EXTERNAL
  181.   GADGET 255,ON,"20",(31,118)-(220,130),LONGINT,1,"DICT.FONT",8,0
  182.   GADGET 254,ON,"Go Back",(21,133)-(118,145),BUTTON,1,"DICT.FONT",8,0
  183.   GADGET 253,ON,"Accept",(122,133)-(219,145),BUTTON,1,"DICT.FONT",8,0
  184. END SUB
  185. SUB _BUTTON8 EXTERNAL
  186.   BEVELBOX (21,63)-(218,130),1
  187.   FONT "DICT.FONT",8 : STYLE 2
  188.   PENUP : SETXY 26,72 : PRINT "Random Number Method 1"
  189.   FONT "DICT.FONT",8 : STYLE 0
  190.   PENUP : SETXY 26,80 : PRINT "This method will generate  an x"
  191.   PENUP : SETXY 26,88 : PRINT "amount of random numbers from 1"
  192.   PENUP : SETXY 26,96 : PRINT "to  49  of  which  the  6  most"
  193.   PENUP : SETXY 26,104 : PRINT "popular are retained. Now enter"
  194.   PENUP : SETXY 26,112 : PRINT "a value for x and press return."
  195. END SUB
  196. SUB _BUTTON11 EXTERNAL
  197.   BEVELBOX (21,63)-(218,130),1
  198.   FONT "DICT.FONT",8 : STYLE 2
  199.   PENUP : SETXY 26,72 : PRINT "Random Number Method 2"
  200.   FONT "DICT.FONT",8 : STYLE 0
  201.   PENUP : SETXY 26,80 : PRINT "This method will generate  some"
  202.   PENUP : SETXY 26,88 : PRINT "random  numbers and  retain the"
  203.   PENUP : SETXY 26,96 : PRINT "first six which have appeared x"
  204.   PENUP : SETXY 26,104 : PRINT "times. Please now enter a value"
  205.   PENUP : SETXY 26,112 : PRINT "for x and  then  press  return."
  206. END SUB
  207. SUB _BUTTON12 EXTERNAL
  208.   BEVELBOX (21,63)-(218,130),1
  209.   FONT "DICT.FONT",8 : STYLE 2
  210.   PENUP : SETXY 26,72 : PRINT "Random Number Method 3"
  211.   FONT "DICT.FONT",8 : STYLE 0
  212.   PENUP : SETXY 26,80 : PRINT "This method will generate  some"
  213.   PENUP : SETXY 26,88 : PRINT "random  numbers and  retain the"
  214.   PENUP : SETXY 26,96 : PRINT "xth number generated in each of"
  215.   PENUP : SETXY 26,104 : PRINT "six  occurences.  Now  enter  a"
  216.   PENUP : SETXY 26,112 : PRINT "value  for x  and press return."
  217. END SUB
  218. SUB _BUTTON9 EXTERNAL
  219.   GADGET 255,OFF,"Go Back",(21,133)-(69,145),BUTTON,1,"DICT.FONT",8,0
  220.   GADGET 254,ON,"Stop",(71,133)-(119,145),BUTTON,1,"DICT.FONT",8,0
  221.   GADGET 253,OFF,"Print",(121,133)-(169,145),BUTTON,1,"DICT.FONT",8,0
  222.   GADGET 252,OFF,"Save It",(171,133)-(219,145),BUTTON,1,"DICT.FONT",8,0
  223. END SUB
  224. SUB _MENU1 EXTERNAL
  225.   BEVELBOX (21,63)-(218,130),1
  226.   FONT "DICT.FONT",8 : STYLE 2
  227.   PENUP : SETXY 26,72 : PRINT "Please wait, processing data..."
  228.   FONT "DICT.FONT",8 : STYLE 0
  229.   PENUP : SETXY 26,94 : PRINT "LoTo98 is currently  generating"
  230.   PENUP : SETXY 26,102 : PRINT "random  numbers  which  will be"
  231.   PENUP : SETXY 26,110 : PRINT "used  to calculate  six numbers"
  232.   PENUP : SETXY 26,118 : PRINT "as required. If you wish LoTo98"
  233.   PENUP : SETXY 26,126 : PRINT "to   stop,  then  press   stop."
  234. END SUB
  235. SUB _CONVERT(A) EXTERNAL
  236.   IF A=0 THEN
  237.     B$="0"
  238.   END IF
  239.   IF A=1 THEN
  240.     B$="1"
  241.   END IF
  242.   IF A=2 THEN
  243.     B$="2"
  244.   END IF
  245.   IF A=3 THEN
  246.     B$="3"
  247.   END IF
  248.   IF A=4 THEN
  249.     B$="4"
  250.   END IF
  251.   IF A=5 THEN
  252.     B$="5"
  253.   END IF
  254.   IF A=6 THEN
  255.     B$="6"
  256.   END IF
  257.   IF A=7 THEN
  258.     B$="7"
  259.   END IF
  260.   IF A=8 THEN
  261.     B$="8"
  262.   END IF
  263.   IF A=9 THEN
  264.     B$="9"
  265.   END IF
  266.   IF A=10 THEN
  267.     B$="10"
  268.   END IF
  269.   IF A=11 THEN
  270.     B$="11"
  271.   END IF
  272.   IF A=12 THEN
  273.     B$="12"
  274.   END IF
  275.   IF A=13 THEN
  276.     B$="13"
  277.   END IF
  278.   IF A=14 THEN
  279.     B$="14"
  280.   END IF
  281.   IF A=15 THEN
  282.     B$="15"
  283.   END IF
  284.   IF A=16 THEN
  285.     B$="16"
  286.   END IF
  287.   IF A=17 THEN
  288.     B$="17"
  289.   END IF
  290.   IF A=18 THEN
  291.     B$="18"
  292.   END IF
  293.   IF A=19 THEN
  294.     B$="19"
  295.   END IF
  296.   IF A=20 THEN
  297.     B$="20"
  298.   END IF
  299.   IF A=21 THEN
  300.     B$="21"
  301.   END IF
  302.   IF A=22 THEN
  303.     B$="22"
  304.   END IF
  305.   IF A=23 THEN
  306.     B$="23"
  307.   END IF
  308.   IF A=24 THEN
  309.     B$="24"
  310.   END IF
  311.   IF A=25 THEN
  312.     B$="25"
  313.   END IF
  314.   IF A=26 THEN
  315.     B$="26"
  316.   END IF
  317.   IF A=27 THEN
  318.     B$="27"
  319.   END IF
  320.   IF A=28 THEN
  321.     B$="28"
  322.   END IF
  323.   IF A=29 THEN
  324.     B$="29"
  325.   END IF
  326.   IF A=30 THEN
  327.     B$="30"
  328.   END IF
  329.   IF A=31 THEN
  330.     B$="31"
  331.   END IF
  332.   IF A=32 THEN
  333.     B$="32"
  334.   END IF
  335.   IF A=33 THEN
  336.     B$="33"
  337.   END IF
  338.   IF A=34 THEN
  339.     B$="34"
  340.   END IF
  341.   IF A=35 THEN
  342.     B$="35"
  343.   END IF
  344.   IF A=36 THEN
  345.     B$="36"
  346.   END IF
  347.   IF A=37 THEN
  348.     B$="37"
  349.   END IF
  350.   IF A=38 THEN
  351.     B$="38"
  352.   END IF
  353.   IF A=39 THEN
  354.     B$="39"
  355.   END IF
  356.   IF A=40 THEN
  357.     B$="40"
  358.   END IF
  359.   IF A=41 THEN
  360.     B$="41"
  361.   END IF
  362.   IF A=42 THEN
  363.     B$="42"
  364.   END IF
  365.   IF A=43 THEN
  366.     B$="43"
  367.   END IF
  368.   IF A=44 THEN
  369.     B$="44"
  370.   END IF
  371.   IF A=45 THEN
  372.     B$="45"
  373.   END IF
  374.   IF A=46 THEN
  375.     B$="46"
  376.   END IF
  377.   IF A=47 THEN
  378.     B$="47"
  379.   END IF
  380.   IF A=48 THEN
  381.     B$="48"
  382.   END IF
  383.   IF A=49 THEN
  384.     B$="49"
  385.   END IF
  386.   IF A=51 THEN
  387.     B$="5 + B"
  388.   END IF
  389. END SUB
  390. SUB _CONVERT1(A) EXTERNAL
  391.   IF A=0 THEN
  392.     B$="Nothing"
  393.   END IF
  394.   IF A=1 THEN
  395.     B$="One Number"
  396.   END IF
  397.   IF A=2 THEN
  398.     B$="Two Numbers"
  399.   END IF
  400.   IF A=3 THEN
  401.     B$="Three Numbers"
  402.   END IF
  403.   IF A=4 THEN
  404.     B$="Four Numbers"
  405.   END IF
  406.   IF A=5 THEN
  407.     B$="Five Numbers"
  408.   END IF
  409.   IF A=6 THEN
  410.     B$="Six Numbers"
  411.   END IF
  412.   IF a=7 THEN
  413.     B$="Five + Bonus"
  414.   END IF
  415. END SUB